package com.kaifamiao.charstreams;

import java.io.*;
import java.nio.charset.StandardCharsets;

public class BufferedReaderTest {
    public static void main(String[] args) throws IOException {

        // 创建一个用于读取指定文件内容的字节输入流
        InputStream in = new FileInputStream( "D:/test/ReaderTest.java" );
        // 使用指定字符集将 字节输入流 转换为 字符输入流
        Reader reader = new InputStreamReader( in, StandardCharsets.UTF_8);
        System.out.println( reader.markSupported() ); // false
        // 创建一个带有缓冲功能的 字符输入流
        BufferedReader br = new BufferedReader( reader);
        System.out.println( br.markSupported() ); // true

        String s ;
        // 从字符输入缓冲流中读取整行数据(当到达流末尾时返回null)
        while( (s = br.readLine() ) != null ) {
            System.out.println( s );
        }

        /*
        int c;
        while( ( c = br.read() ) != -1 ){
            char ch = (char)c;
            System.out.print( ch );
            if( ch == '组' ) {
                // 在当前位置做标记(即记录当前位置)
                br.mark(1000 );
            }
        }

        System.out.println( "- ".repeat( 10 ) );

        // 返回到最后一次做标记的位置
        br.reset();

        while( ( c = br.read() ) != -1 ){
            char ch = (char)c;
            System.out.print( ch );
        }
        */

        br.close();
        reader.close();
        in.close();

    }
}
